The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, the approaches described in this section may not be prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
Provisioning of many network devices is conventionally performed by administrative personnel who manually configure network devices with a software “image” that may include an operating system and one or more applications. For example, an administrator may provision a generic computing platform as a Web server by installing an operating system, Web server software and one or more Web server management application programs. As used herein, the term “network device” refers to any type of network device. Example network devices include, without limitation, routers, hubs, gateways, switches, personal computers, workstations, and any other type of computing device. In some situations, network devices are re-provisioned. This may occur, for example, when a network device is to be used for a different purpose or in a different manner when a first or alternate use can be suspended or terminated. For example, suppose that the network device configured as a Web server is to be re-provisioned as a Web server with a different operating system. Conventionally, administrative personnel uninstall the initial operating system and install the new operating system. This may also require uninstalling application programs that are specific to the original operating system and then installing different versions of the operating system that are compatible with the new operating system. Network devices may be re-provisioned any number of times, depending upon the requirements of a particular operating environment.
Manually configuring network devices requires a significant amount of administrative resources and time, particularly for applications with large numbers of network devices. It also requires physical access to the network devices so that the new software can be loaded onto the network devices, which can be difficult for network devices disposed in remote locations.